The present disclosure relates generally to information handling systems, and more particularly to a resource management system for routing Uniform Resource Identifier (URI) requests from information handling systems.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems include a multitude of systems, subsystems, resources, resource settings and data, and other hardware and software that generates useful information and requires management. Often such management of information handling systems is performed remotely from a client computing system. Emerging requirements for a modern system management Application Program Interface (API) include being Representational State Transfer (REST) based via, for example, utilization of the Distributed Management Task Force (DMTF) Redfish standard while leveraging open source software (e.g., Apache web server software) in the implementation. Such implementations typically include web servers that employ brokers that utilize a static mapping mechanism (often in the form of a static file) to route Uniform Resource Identifier (URI) requests to providers, which may be provided by plugin code that performs the processing of the URI request. REST-based system management APIs use the concepts of collections, where members of collections are resources that are identified by a specific URI path. A member of a collection may be included in a collection whose other members may be included in other collections, and so on, creating a hierarchical-collections-based URI path. It has been found that existing open source infrastructure methodologies for statically mapping URI paths to members do not handle the notion of hierarchical collections adequately. Additionally, the members of a collection can dynamically change, creating further complications to the static mapping of URI paths to members. As such, current resource management systems require providers of topmost collections to be particularly complex, as those providers must be configured to handle all sub-collections and dynamic members, and this complexity introduces a barrier to modularity and robustness in the implementation.
Accordingly, it would be desirable to provide an improved resource management system.